home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / PROGTOOL / LIB211.ZIP;1 / JPMOUSE.TXT < prev    next >
Encoding:
Text File  |  1993-12-14  |  6.4 KB  |  133 lines

  1.                            JPMOUSE - Version 2.01
  2.  
  3.                          by Jay Parsons (Jparsons)
  4.  
  5.                        Interim release modifications
  6.                           by Ken Chan (HazMatZak)
  7.  
  8.                                 July 8, 1992
  9.  
  10. NOTE: The original .ZIP file JPMUS.ZIP can be found in the DBASE
  11. forum on CompuServe, Library 4, and includes the .ASM source.
  12.  
  13.         The following fixes were made to version 2.0 (06/21/92 release) 
  14. of JPMOUSE:
  15.  
  16.              (1) "+" call shows cursor after enabling driver
  17.              (2) "-" call hides cursor after disabling driver
  18.              (3) "R" call shows cursor after reseting driver
  19.  
  20.         This version is compatible with version 1 of JPMOUSE.  However, 
  21. it adds support for calls with "R", to reset the mouse and turn it on 
  22. in one step, and to report or set the mouse cursor position.
  23.  
  24.         If you've downloaded MUSCLICK.ZIP, you know it also reports the
  25. mouse position.  The differences are that this program can also set the
  26. mouse position and that this one reports the current position.  The call
  27. for position to MUSCLICK gives the position at the last click, which may
  28. not be the current position.  Also, of course, MUSCLICK is event-driven 
  29. and reports each click after it is installed.  This program must be 
  30. called each time it is to do anything.
  31.  
  32.         The complete list of arguments to, and returns values from this
  33. program is as follows:
  34.  
  35. ;      argument:   'R' to check for and reset mouse and turn it on.
  36. ;                  '?' to check for and reset mouse, but NOT turn it on.
  37. ;                  '+' to enable driver and show mouse cursor
  38. ;                  '-' to disable driver and hide mouse cursor
  39. ;                  'H' to hide cursor only
  40. ;                  'S' to show cursor only
  41. ;                  any argument below chr(43), or chr(255):
  42. ;                      first argument is interpreted as row, second as 
  43. ;                      column, both as chr() values.  If argument is 
  44. ;                      chr(255), mouse is not moved, otherwise is is 
  45. ;                      moved to that row, column or both.  In any case
  46. ;                      the mouse cursor row and column are returned.  
  47. ;                      If only one argument is furnished, mouse will 
  48. ;                      be moved to column zero.
  49.  
  50. ;       returns:    If called with '?' or 'R' returns 'T' if mouse, or 
  51. ;                   'F'. Calls with first argument below chr(43), or 
  52. ;                   chr(255), return row and column of mouse cursor as 
  53. ;                   chr() values. Calls with first argument $ "+-HS" 
  54. ;                   return 'T', call with some other character returns 
  55. ;                   'F'.
  56.  
  57.         When I uploaded the first version of this I thought I knew how 
  58. to prevent mouse droppings in all cases.  I no longer think I know.  
  59. This program supports all the standard calls to int 33h functions for 
  60. these purposes; you'll just have to experiment to see what works for 
  61. you. Typically, repeated calls with "+" or "R" will leave mouse 
  62. droppings.  In a program, if the mouse status is unknown it seems safest
  63. to call with "?", then with "+" if it is desired to turn the mouse 
  64. cursor on.
  65.  
  66.         When called with "-", this program calls function 1Fh of int 33h 
  67. to disable the driver, as well as hiding the cursor.  However, my 
  68. LogiTech driver continues to track movement of the mouse, which is not 
  69. supposed to occur.  Theoretically, calls with "H" and "S" should be made
  70. if it is desired to hide then show the cursor but keep the driver 
  71. active, while "-" and "+" should disable/reenable the driver.  I cannot
  72. promise that calls with "-" will prevent recognition of undesired mouse
  73. actions.
  74.  
  75.         Here's the list of int 33h functions called in each case, 
  76. except the ones to move or report the mouse cursor:
  77.  
  78.         argument:      calls these int 33h functions:
  79.  
  80.          R                       0 and 1
  81.          ?                       0 only
  82.          +                       20h and 1
  83.          -                       1Fh and 2
  84.          H                       2 only
  85.          S                       1 only
  86.  
  87.         By sheer good luck, the highest possible row is 42, one less 
  88. than the ASCII value of "+", which allowed expanding this to recognize 
  89. calls with a row for an argument without making it incompatible with the
  90. original version.  The calling syntax is
  91.  
  92.                 CALL JPMOUSE WITH cMRow, cMCol
  93.  
  94.         where cMRow and cMCol contain either the chr() value of the row 
  95. and column to which the mouse is to be moved, or chr(255) if you don't 
  96. want to move it.  The row and column of the (new) position will be 
  97. returned and can be found as asc(cMRow) and asc(cMCol) respectively.  It
  98. is possible to call with cMRow = chr(255) and cMCol = chr(0), or the 
  99. like, in this case to move the mouse cursor to the left edge of the 
  100. screen without changing the row. If you omit the second argument, the 
  101. mouse will be moved to column 0.  As usual, the arguments must be 
  102. variables for any information to be returned. 
  103.  
  104.         If you are using this to manage the mouse at the same time you 
  105. are using MUSCLICK to report clicks, do not call with "?" or "R" after 
  106. the call to MUSCLICK to install it.  Calling this program with "?" or 
  107. "R" resets the mouse and disables user handlers, including the one 
  108. installed by MUSCLICK. Since repeated installations of MUSCLICK without
  109. uninstalling it could result in scrambling the address of the active 
  110. mouse-event handler, care should be taken to uninstall the MUSCLICK 
  111. handler before calling this program to reset the mouse.
  112.  
  113.                               ** DISCLAIMER **
  114.  
  115.         This freeware is published as an educational item for those
  116. interested, and is not warranted in any way.  It will, it is hoped, 
  117. become obsolete when the next release of dBASE after dBASE IV 1.5 
  118. provides more complete mouse support.
  119.  
  120.         Please report bugs or problems to:
  121.  
  122.                                              Jay Parsons
  123.                                              52 Chapin Road
  124.                                              Bernardsville, NJ 07924
  125.                                              Voice: (908) 766-3380
  126.                                              Fax: (908) 766-3381
  127.                                              CIS: 70160,340
  128.         or
  129.                                              Ken Chan
  130.                                              CIS: 71542,2712
  131.  
  132.  
  133.